const install = (Vue, vm) => {
	Vue.prototype.$u.http.setConfig((conf) => {
		conf.baseURL = 'http://127.0.0.1:4523/m1/2029022-0-default/renren-admin'; //根域名
		conf.dataType = 'json';

		conf.showLoading = true; // 是否显示请求中的loading
		conf.loadingText = "请求中..."; // 请求loading中的文字提示
		conf.loadingTime = 800; // 在此时间内，请求还没回来的话，就显示加载中动画，单位ms
		conf.originalData = true; // 是否在拦截器中返回服务端的原始数据
		conf.loadingMask = true; // 展示loading的时候，是否给一个透明的蒙层，防止触摸穿透
		// 配置请求头信息
		conf.header = {
			"content-type": "application/json;charset=UTF-8",
		};
		return conf;
	})

	Vue.prototype.$u.http.interceptors.request.use((config) => { // 可使用async await 做异步操作
		// 初始化请求拦截器时，会执行此方法，此时data为undefined，赋予默认{}
		config.data = config.data || {}
		// 根据是否需要token，添加对应的请求头
		// 可以在此通过vm引用vuex中的变量，具体值在vm.$store.state中
		// config.header.token = vm.$store.state.userInfo.token
		const tokenPriv = uni.getStorageSync("token");
		config.header.Authorization = (!!tokenPriv ? tokenPriv : "");
		config.header.Accept = "application/json";
		
		return config;
	}, config => {
		return Promise.reject(config)
	})
	
	Vue.prototype.$u.http.interceptors.response.use((response) => {
		const data = response.data
		//判断状态
		if (data.code !== 0) {
			vm.$u.toast("错误:" + data.msg);
			console.log('data.code !== 0');
			return Promise.reject(data);
		}
		return data.data === undefined ? {} : data.data
	}, (response) => {
		console.log('response');
		return Promise.reject(response)
	})
	
}

export default {
	install
}